[PATCH] create pkgconfig file during build
authorDouglas Scofield <douglasgscofield@gmail.com>
Fri, 22 Nov 2024 16:17:07 +0000 (17:17 +0100)
committerMichael R. Crusoe <crusoe@debian.org>
Mon, 1 Sep 2025 12:57:34 +0000 (14:57 +0200)
Gbp-Pq: Name cb6c6ac1f03d5749989e810a0087ca64021064c9.patch

CMakeLists.txt
cereal.pc.in [new file with mode: 0644]

index 802e2ad901c58b8ee0bae00ad7191304998101ad..55c15153b876a90ae54859e246b0843c1d7f2ef5 100644 (file)
@@ -52,6 +52,11 @@ else()
     if(NOT DEFINED CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD STREQUAL "98")
         set(CMAKE_CXX_STANDARD 11)
     endif()
+    configure_file(
+        ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc.in
+        ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
+        @ONLY
+    )
 
     set(CMAKE_CXX_STANDARD_REQUIRED ON)
 endif()
@@ -98,6 +103,10 @@ if(CEREAL_INSTALL)
         NAMESPACE "cereal::"
         DESTINATION ${configInstallDestination}
     )
+    install(
+        FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
+        DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig
+    )
 endif()
 
 
diff --git a/cereal.pc.in b/cereal.pc.in
new file mode 100644 (file)
index 0000000..5ee10f8
--- /dev/null
@@ -0,0 +1,8 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+
+Name: @PROJECT_NAME@
+Description: cereal is a header-only C++11 serialization library
+URL: https://uscilab.github.io/cereal/
+Version: @PROJECT_VERSION@
+Cflags: -I"${includedir}"